package org.szy.core.common.enums;

import cn.hutool.core.util.ObjectUtil;

/**
 * 公共性别枚举
 *
 * @author 孙志阳
 * @date 2023-02-14
 * @since 1.0.0
 **/
public enum CommonSexEnum {

    /**
     * 男
     */
    MALE("1", "男"),
    /**
     * 女
     */
    FEMALE("2", "女"),
    /**
     * 未知
     */
    UNKNOWN("3", "未知");

    private final String key;
    private final String value;

    CommonSexEnum(String key, String value) {
        this.key = key;
        this.value = value;
    }

    /**
     * 根据value查找
     *
     * @param key 数据值
     * @return 枚举对象
     */
    public static CommonSexEnum findBykey(Object key) {
        for (CommonSexEnum statusEnum : CommonSexEnum.values()) {
            if (ObjectUtil.equals(statusEnum.getKey(), key)) {
                return statusEnum;
            }
        }
        return CommonSexEnum.UNKNOWN;
    }


    /**
     * 根据value查找
     *
     * @param value 枚举value
     * @return 枚举对象
     */
    public static CommonSexEnum findByValue(Object value) {
        for (CommonSexEnum statusEnum : CommonSexEnum.values()) {
            if (ObjectUtil.equals(statusEnum.getValue(), value)) {
                return statusEnum;
            }
        }
        return CommonSexEnum.UNKNOWN;
    }

    public String getKey() {
        return key;
    }

    public String getValue() {
        return value;
    }
}
